<template>
	<view class="wrap">
		<view class="top">
			<view class="item">
				<view class="left">收货人</view>
				<input type="text" placeholder-class="line" placeholder="请填写收货人姓名" v-model="userInfo.name" />
			</view>
			<view class="item">
				<view class="left">手机号码</view>
				<input type="text" placeholder-class="line" placeholder="请填写收货人手机号" v-model="userInfo.phone" />
			</view>
			<view class="item" @tap="showRegionPicker">
				<view class="left">所在地区</view>
				<input type="text" placeholder-class="line" placeholder="省市区县、乡镇等" v-model="input" />
			</view>
			<view class="item address">
				<view class="left">详细地址</view>
				<textarea type="text" placeholder-class="line" placeholder="街道、楼牌等" v-model="userInfo.address" />
			</view>
			<!-- <view class="site-clipboard">
				<textarea placeholder-class="line" value="" placeholder="粘贴文本,可自动识别姓名和地址等" />
				<view class="clipboard">
					地址粘贴板
					<u-icon name="arrow-down" class="icon" :size="20"></u-icon>
				</view>
			</view> -->
		</view>
		<view class="bottom">
			<view class="tag">
				<view class="left">标签</view>
				<view class="right">
					<text class="tags">家</text>
					<text class="tags">公司</text>
					<text class="tags">学校</text>
					<view class="tags plus">
						<u-icon size="22" name="plus"></u-icon>
					</view>
				</view>
			</view>
			<view class="default">
				<view class="left">
					<view class="set">设置默认地址</view>
					<view class="tips">提醒：每次下单会默认推荐该地址</view>
				</view>
				<view class="right">
					<switch color="red" @change="setDefault" :checked="userInfo.is_default" />
				</view>
			</view>
		</view>
		<u-picker mode="region" ref="uPicker" v-model="show" @confirm="confirm" />
		<view class="addSite" @tap="sendUserInfo">
			<view class="add">
				确认并提交
			</view>
		</view>
		<view class="delSite" @tap="delUserInfo">
			<view class="del">
				删除
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				show: false,
				input: '',
				userInfo: {
					name: '',
					address: '',
					phone: '',
					province: '',
					city: '',
					county: '',
					is_default: true
				}
			};
		},
		onLoad() {
			this.getData()
		},
		methods: {
			async getData() {
				if (this.$route.query.params) {
					const address = this.$route.query.params
					const res = await this.$u.api.addressInfo(address)
					// console.log(res)
					if (res) {
						this.userInfo.name = res.name
						this.userInfo.address = res.address
						this.userInfo.phone = res.phone
						this.userInfo.province = res.province
						this.userInfo.city = res.city
						this.userInfo.county = res.county
						this.input = this.userInfo.province + '-' + this.userInfo.city + '-' + this.userInfo.county
						if(res.is_default == 1){
							this.userInfo.is_default = true
						}else{
							this.userInfo.is_default = false
						}
					}
				}
			},
			setDefault() {
				this.userInfo.is_default = !this.userInfo.is_default
			},
			showRegionPicker() {
				this.show = true;
			},
			confirm(e) {
				this.input = e.province.label + '-' + e.city.label + '-' + e.area.label;
				this.userInfo.province = e.province.label
				this.userInfo.city = e.city.label
				this.userInfo.county = e.area.label
			},
			async sendUserInfo() {
				if(this.$route.query.params){
					const res = await this.$u.api.putAddress(this.$route.query.params,this.userInfo)
					this.$u.toast('修改成功')
					setTimeout(()=>{
						this.$u.route({
							type:'reLaunch',
							url: '/pages/address/addressChange'
						})
					},1500)
				}else{
					const res = await this.$u.api.addAddress(this.userInfo)
					this.$u.toast('创建成功')
					setTimeout(()=>{
						this.$u.route({
							type:'reLaunch',
							url: '/pages/address/addressChange'
						})
					},1500)
				}
			},
			async delUserInfo() {
				const res = await this.$u.api.delAddressList(this.$route.query.params)
				this.$u.toast('删除成功')
				setTimeout(()=>{
					this.$u.route({
						type:'reLaunch',
						url: '/pages/address/addressChange',
					});
				},1500)
				
			}
		}
	};
</script>

<style lang="scss" scoped>
	/deep/ .line {
		color: $u-light-color;
		font-size: 28rpx;
	}

	.wrap {
		background-color: white;
		padding-bottom: 100rpx;

		.top {
			background-color: #ffffff;
			border-top: solid 2rpx $u-border-color;
			padding: 22rpx;

			.item {
				display: flex;
				font-size: 32rpx;
				line-height: 100rpx;
				align-items: center;
				border-bottom: solid 2rpx $u-border-color;

				.left {
					width: 180rpx;
				}

				input {
					text-align: left;
				}
			}

			.address {
				padding: 20rpx 0;

				textarea {
					// width: 100%;
					height: 150rpx;
					background-color: #f7f7f7;
					line-height: 60rpx;
					margin: 40rpx auto;
					padding: 20rpx;
				}
			}

			.site-clipboard {
				padding-right: 40rpx;

				textarea {
					// width: 100%;
					height: 150rpx;
					background-color: #f7f7f7;
					line-height: 60rpx;
					margin: 40rpx auto;
					padding: 20rpx;
				}

				.clipboard {
					display: flex;
					justify-content: center;
					align-items: center;
					font-size: 26rpx;
					color: $u-tips-color;
					height: 80rpx;

					.icon {
						margin-top: 6rpx;
						margin-left: 10rpx;
					}
				}
			}
		}

		.bottom {
			margin-top: 20rpx;
			padding: 40rpx;
			padding-right: 0;
			background-color: #ffffff;
			font-size: 28rpx;

			.tag {
				display: flex;

				.left {
					width: 160rpx;
				}

				.right {
					display: flex;
					flex-wrap: wrap;

					.tags {
						width: 140rpx;
						padding: 16rpx 8rpx;
						border: solid 2rpx $u-border-color;
						text-align: center;
						border-radius: 50rpx;
						margin: 0 10rpx 20rpx;
						display: flex;
						font-size: 28rpx;
						align-items: center;
						justify-content: center;
						color: $u-content-color;
						line-height: 1;
					}

					.plus {
						//padding: 10rpx 0;
					}
				}
			}

			.default {
				margin-top: 50rpx;
				display: flex;
				justify-content: space-between;
				border-bottom: solid 2rpx $u-border-color;
				line-height: 64rpx;

				.tips {
					font-size: 24rpx;
				}

				.right {}
			}
		}
	}

	.addSite {
		display: flex;
		justify-content: space-around;
		width: 600rpx;
		line-height: 100rpx;
		position: relative;
		top: 30rpx;
		left: 80rpx;
		background-color: red;
		border-radius: 20rpx;
		font-size: 40rpx;
		font-weight: bold;

		.add {
			display: flex;
			align-items: center;
			color: #ffffff;
		}
	}

	.delSite {
		display: flex;
		justify-content: space-around;
		width: 600rpx;
		line-height: 100rpx;
		position: relative;
		top: 50rpx;
		left: 80rpx;
		background-color: red;
		border-radius: 20rpx;
		font-size: 40rpx;
		font-weight: bold;

		.del {
			display: flex;
			align-items: center;
			color: #ffffff;
		}
	}
</style>
